Electro-optical readers are well known in the art for electro-optically transforming a spatial pattern of graphic indicia, known as a symbol, into a time-varying electrical signal which is then decoded into data. Typically, a light beam generated from a light source is focused by a lens along an optical path toward a target that includes the symbol. The light beam is repetitively swept along a scan line or a series of scan lines arranged in a raster pattern over the symbol by moving a scan mirror located in the optical path. A photodetector detects light scattered or reflected from the symbol and generates an analog electrical signal. Electronic circuitry converts the analog signal into a digitized signal having pulse widths corresponding to physical widths of bars and spaces comprising the symbol, and a decoder decodes the digitized signal into data descriptive of the symbol.
The repetitive sweeping of the light beam is performed by a drive, typically a motor having a rotor oscillatable about an axis. A permanent magnet and the scan mirror are jointly oscillatable with the rotor. The motor is driven by a drive coil wound on a bobbin that is located physically close to the permanent magnet. A feedback coil is also wound on the same bobbin. In response to an alternating voltage drive signal applied to the drive coil, the electromagnetic field produced by the drive coil interacts with the permanent magnetic field of the magnet, thereby jointly moving the magnet and the mirror. The motor and mirror assembly form a resonant mechanical structure, where the natural frequency of this structure determines oscillation frequency. The frequency of the drive signal in the drive coil is the same as the rotor motion, with one cycle of the drive signal corresponding to one cycle of rotor motion. The amplitude of the drive signal in the drive coil is proportional to the velocity of the rotor motion. The polarity of the drive signal in the drive coil is dependent on the direction of rotor motion such that a positive half cycle of the drive signal indicates that the rotor is moving in one drive direction, and a negative half cycle indicates that the rotor is moving in the opposite drive direction. Zero crossings of the drive signal occur when the rotor reaches its maximum travel at each end of a respective scan line. At each zero crossing, the rotor stops for an instant and reverses drive direction.
The feedback coil is useful for a variety of purposes. It generates an alternating voltage signal, known as a feedback signal, due to the movement of the magnet. The frequency and polarity of the feedback signal generated in the feedback coil corresponds to the frequency and polarity of the moving magnet. An electrical drive monitoring circuit is often employed to monitor the amplitude of the feedback signal and, for example, turn the light source off if the amplitude falls below a predetermined threshold, thereby indicating that the drive is malfunctioning. An electrical closed loop control circuit is also often employed to process the feedback signal to make decisions about how to continue driving the motor. Still another electronic circuit that is often employed processes the zero crossings of the feedback signal to derive a start-of-scan (SOS) signal that represents rotor motion and is used to synchronize the scan lines.
In some implementations, the electrical closed loop control circuit is used to regulate the peak values of the feedback signal generated from the feedback coil. If the magnitude of a peak value (either positive peak or negative peak) is smaller than a desired (or target) value, the electrical closed loop control circuit will try to increase the current applied to the drive coil in order to increase the magnitude of the peak value. On the other hand, if the magnitude of a peak value (either positive peak or negative peak) is larger than a desired (or target) value, the electrical closed loop control circuit will try to decrease the current applied to the drive coil in order to decrease the magnitude of the peak value.
With the electrical closed loop control circuit described above, each peak value of the feedback signal can be maintained close to certain desired (or target) value. This electrical closed loop control circuit enables the peak velocity of the scan mirror to be regulated, because the feedback signal generated from the feedback coil is proportional to the first derivative of scan mirror's displacement function. This electrical closed loop control circuit can also be used to regulate the scan amplitude of the scan mirror, provided that the motor's operating frequency remains unchanged. In some operation environments, however, the motor's operating frequency can be changed for variety of reasons. Therefore, with the electrical closed loop control circuit described above, even if each peak value of the feedback signal can be maintained close to certain desired (or target) value, the scan amplitude of the scan mirror will change in proportion to any change in motor frequency. Such change will introduce amplitude errors. The scan amplitude of the scan mirror can be different than, or can drift away from, the desired (or targeted) scan amplitude.
Accordingly, in some operation environments, it is desirable to have certain electrical closed loop control circuit that can maintain the scan amplitude of the scan mirror close to a constant value, as an improvement of the circuit that merely regulates the peak velocity of the scan mirror.